The Challenge/Onyx systems support a variety of I/O types with different bandwidth and latency characteristics:
VME device registers can be mapped directly into the program's address space, where they can be read and written as memory variables. This is implemented as programmed I/O (PIO).
Memory-mapping makes I/O programming simple, especially when large numbers of devices or complex device protocols are involved. Memory-mapped, programmed I/O can transfer data from 250 KB/second to 1 MB/second. (See "PIO Access".)
When transferring 32 or more consecutive bytes, transfer rate can be increased using direct memory access (DMA) to devices on the VME bus. The Challenge/Onyx architecture allows a user-level process DMA access to VME master and slave devices through a unique DMA engine (see "Program Access to the VME Bus".)
Maximum transfer rates on the VME bus are achieved with a VME device that supports block mode transfer as a bus master. Challenge/Onyx systems can achieve VME transfer rates greater than 50 MB/second to such devices.
Multiple SCSI controllers can be attached to all Silicon Graphics systems. SCSI transfer rates can reach 14 MB/second on each channel for 16-bit SCSI-II controllers (see "SCSI Hardware on CHALLENGE and Onyx Systems").